home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / perl / 5.10.0 / CORE / warnings.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-06-26  |  4.0 KB  |  124 lines

  1. /* -*- buffer-read-only: t -*-
  2.    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  3.    This file is built by warnings.pl
  4.    Any changes made here will be lost!
  5. */
  6.  
  7.  
  8. #define Off(x)            ((x) / 8)
  9. #define Bit(x)            (1 << ((x) % 8))
  10. #define IsSet(a, x)        ((a)[Off(x)] & Bit(x))
  11.  
  12.  
  13. #define G_WARN_OFF        0     /* $^W == 0 */
  14. #define G_WARN_ON        1    /* -w flag and $^W != 0 */
  15. #define G_WARN_ALL_ON        2    /* -W flag */
  16. #define G_WARN_ALL_OFF        4    /* -X flag */
  17. #define G_WARN_ONCE        8    /* set if 'once' ever enabled */
  18. #define G_WARN_ALL_MASK        (G_WARN_ALL_ON|G_WARN_ALL_OFF)
  19.  
  20. #define pWARN_STD        NULL
  21. #define pWARN_ALL        (((STRLEN*)0)+1)    /* use warnings 'all' */
  22. #define pWARN_NONE        (((STRLEN*)0)+2)    /* no  warnings 'all' */
  23.  
  24. #define specialWARN(x)        ((x) == pWARN_STD || (x) == pWARN_ALL ||    \
  25.                  (x) == pWARN_NONE)
  26.  
  27. /* if PL_warnhook is set to this value, then warnings die */
  28. #define PERL_WARNHOOK_FATAL    (&PL_sv_placeholder)
  29.  
  30. /* Warnings Categories added in Perl 5.008 */
  31.  
  32. #define WARN_ALL        0
  33. #define WARN_CLOSURE        1
  34. #define WARN_DEPRECATED        2
  35. #define WARN_EXITING        3
  36. #define WARN_GLOB        4
  37. #define WARN_IO            5
  38. #define WARN_CLOSED        6
  39. #define WARN_EXEC        7
  40. #define WARN_LAYER        8
  41. #define WARN_NEWLINE        9
  42. #define WARN_PIPE        10
  43. #define WARN_UNOPENED        11
  44. #define WARN_MISC        12
  45. #define WARN_NUMERIC        13
  46. #define WARN_ONCE        14
  47. #define WARN_OVERFLOW        15
  48. #define WARN_PACK        16
  49. #define WARN_PORTABLE        17
  50. #define WARN_RECURSION        18
  51. #define WARN_REDEFINE        19
  52. #define WARN_REGEXP        20
  53. #define WARN_SEVERE        21
  54. #define WARN_DEBUGGING        22
  55. #define WARN_INPLACE        23
  56. #define WARN_INTERNAL        24
  57. #define WARN_MALLOC        25
  58. #define WARN_SIGNAL        26
  59. #define WARN_SUBSTR        27
  60. #define WARN_SYNTAX        28
  61. #define WARN_AMBIGUOUS        29
  62. #define WARN_BAREWORD        30
  63. #define WARN_DIGIT        31
  64. #define WARN_PARENTHESIS    32
  65. #define WARN_PRECEDENCE        33
  66. #define WARN_PRINTF        34
  67. #define WARN_PROTOTYPE        35
  68. #define WARN_QW            36
  69. #define WARN_RESERVED        37
  70. #define WARN_SEMICOLON        38
  71. #define WARN_TAINT        39
  72. #define WARN_THREADS        40
  73. #define WARN_UNINITIALIZED    41
  74. #define WARN_UNPACK        42
  75. #define WARN_UNTIE        43
  76. #define WARN_UTF8        44
  77. #define WARN_VOID        45
  78.  
  79. #define WARNsize        12
  80. #define WARN_ALLstring        "\125\125\125\125\125\125\125\125\125\125\125\125"
  81. #define WARN_NONEstring        "\0\0\0\0\0\0\0\0\0\0\0\0"
  82.  
  83. #define isLEXWARN_on     (PL_curcop->cop_warnings != pWARN_STD)
  84. #define isLEXWARN_off    (PL_curcop->cop_warnings == pWARN_STD)
  85. #define isWARN_ONCE    (PL_dowarn & (G_WARN_ON|G_WARN_ONCE))
  86. #define isWARN_on(c,x)    (IsSet((U8 *)(c + 1), 2*(x)))
  87. #define isWARNf_on(c,x)    (IsSet((U8 *)(c + 1), 2*(x)+1))
  88.  
  89. #define DUP_WARNINGS(p)        \
  90.     (specialWARN(p) ? (STRLEN*)(p)    \
  91.     : (STRLEN*)CopyD(p, PerlMemShared_malloc(sizeof(*p)+*p), sizeof(*p)+*p, \
  92.                               char))
  93.  
  94. #define ckWARN(w)        Perl_ckwarn(aTHX_ packWARN(w))
  95. #define ckWARN2(w1,w2)        Perl_ckwarn(aTHX_ packWARN2(w1,w2))
  96. #define ckWARN3(w1,w2,w3)    Perl_ckwarn(aTHX_ packWARN3(w1,w2,w3))
  97. #define ckWARN4(w1,w2,w3,w4)    Perl_ckwarn(aTHX_ packWARN4(w1,w2,w3,w4))
  98.  
  99. #define ckWARN_d(w)        Perl_ckwarn_d(aTHX_ packWARN(w))
  100. #define ckWARN2_d(w1,w2)    Perl_ckwarn_d(aTHX_ packWARN2(w1,w2))
  101. #define ckWARN3_d(w1,w2,w3)    Perl_ckwarn_d(aTHX_ packWARN3(w1,w2,w3))
  102. #define ckWARN4_d(w1,w2,w3,w4)    Perl_ckwarn_d(aTHX_ packWARN4(w1,w2,w3,w4))
  103.  
  104. #define packWARN(a)        (a                                      )
  105. #define packWARN2(a,b)        ((a) | ((b)<<8)                         )
  106. #define packWARN3(a,b,c)    ((a) | ((b)<<8) | ((c)<<16)             )
  107. #define packWARN4(a,b,c,d)    ((a) | ((b)<<8) | ((c)<<16) | ((d) <<24))
  108.  
  109. #define unpackWARN1(x)        ((x)        & 0xFF)
  110. #define unpackWARN2(x)        (((x) >>8)  & 0xFF)
  111. #define unpackWARN3(x)        (((x) >>16) & 0xFF)
  112. #define unpackWARN4(x)        (((x) >>24) & 0xFF)
  113.  
  114. #define ckDEAD(x)                            \
  115.        ( ! specialWARN(PL_curcop->cop_warnings) &&            \
  116.         ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) ||         \
  117.           isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||    \
  118.           isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||    \
  119.           isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||    \
  120.           isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))
  121.  
  122. /* end of file warnings.h */
  123. /* ex: set ro: */
  124.